Compile-time reflection